<?php
/**
 * klasa obsługujaca bazę danych
 * @abstract
 */
abstract class Db {
	/**
	 * nazwa użytkownika
	 * @var string
	 * @access private
	 * @static
	 */
	private static $user = 'ogloszenia';
	/**
	 * hasło
	 * @var string
	 * @access private
	 * @static
	 */
	private static $pwd = 'ogloszenia';
	/**
	 * connection string
	 * @var string
	 * @access private
	 * @static
	 */
	private static $connector;	
	/**
	 * połączenie z bazą danych
	 * @var MongoConnection
	 * @static
	 * @access private
	 */
	private static $connection; 
	/**
	 * baza danych
	 * @var MongoDB
	 * @static
	 * @access private
	 */
	private static $database;
	/**
	 * informacja o tym, czy mamy już połączenie z bazą
	 * @var bool
	 * @static
	 * @access private
	 */
	private static $connected = false;
	/**
	 * inicjalizacja bazy danych
	 * @static
	 * @access public
	 */
	public static function init () {
		if(!self::$connected) {
			self::$connector = 'mongodb://'.self::$user.':'.self::$pwd.'@dharma.mongohq.com:10060/ogloszenia';
			self::$connection = new MongoClient(self::$connector);
			self::$database = self::$connection->ogloszenia;
		}
	}
	/**
	 * zwraca połączenie z bazą
	 * @static
	 * @access public
	 * @return MongoConnection obiekt połączenia z bazą
	 */
	public static function getConnection () {
		return self::$connection;
	}
	/**
	 * zwraca bazę danych
	 * @static
	 * @access public
	 * @return MongoDB obiekt bazy danych
	 */
	public static function getDatabase () {
		return self::$database;
	}
}
?>